package com.ecnu.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * ecnu_二期_成果车间
 * </p>
 *
 * @author zdn
 * @since 2025-10-16
 */
@TableName("incubation_factory")
@Data
@ApiModel(value = "IncubationFactory对象", description = "ecnu_二期_成果车间")
public class IncubationFactory implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 成果名称
     */
    @NotBlank (message = "成果名称不能为空")
    @ApiModelProperty("成果名称")
    private String name;

    /**
     * 作者名
     */
    @ApiModelProperty("作者名")
    private String author;

    @ApiModelProperty("通讯作者")
    private String correspAuthor;

    @ApiModelProperty("通讯邮箱")
    private String correspEmail;

    /**
     * 刊源
     */
    @ApiModelProperty("刊源")
    private String journalName;

    /**
     * 期号
     */
    @ApiModelProperty("期号")
    private String issueNum;
    @ApiModelProperty("年份")
    private String year;

    /**
     * 标识号
     */
    @ApiModelProperty("标识号")
    private String journalNum;

    /**
     * 研究类型（对字典的键来）
     */
    @ApiModelProperty("研究类型（对字典的键来）")
    private String researchType;

    /**
     * 学科类型（对字典的键来）
     */
    @ApiModelProperty("学科类型（对字典的键来）")
    private String subjectType;

    /**
     * 机构
     */
    @ApiModelProperty("机构")
    private String institution;

    /**
     * 关键词
     */
    @ApiModelProperty("关键词")
    private String label;

    /**
     * 摘要
     */
    @ApiModelProperty("摘要")
    private String title;

    /**
     * 成果来源（暂定直接存名称）
     */
    @ApiModelProperty("成果来源（暂定直接存名称）")
    private String source;

    /**
     * 评估状态（0未评估，1评估中，2已通过，-1未通过）
     */
    @ApiModelProperty("评估状态（0未评估，1评估中，2已通过，-1未通过）")
    private String evaluateStatus;

    /**
     * 解析状态（0未评估，1评估中，2已通过，-1未通过）
     */
    @ApiModelProperty("解析状态（0未评估，1评估中，2已通过，-1未通过）")
    private String parsingStatus;

    /**
     * 评估详情
     */
    @ApiModelProperty("评估详情")
    private String evaluateTitle;

    /**
     * 实验化潜力
     */
    @ApiModelProperty("实验化潜力")
    private String convertRate;

    /**
     * 解析状态（暂定直接存）
     */
    @ApiModelProperty("解析状态（暂定直接存）")
    private String analysisStatus;

    /**
     * 是否删除（0否，1是)
     */
    @ApiModelProperty("是否删除（0否，1是)")
    private String delFlag;

    @ApiModelProperty("人员列表（,分割）")
    private String personnel;

    @ApiModelProperty("设定认领数量")
    private Integer personNum;

    @ApiModelProperty("是否完成（0否，1是)")
    @TableField("isComplete")
    private String isComplete;

    private String createUser;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    private String updateUser;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

}
